package com.logic.landseaserver.service;

import java.util.List;

import com.logic.common.exception.BusinessException;
import com.logic.common.service.ICRUDService;
import com.logic.common.util.QueryUtil;
import com.logic.landseaserver.common.exception.LandseaBusinessException;
import com.logic.landseaserver.domain.PropertyCheck;
import com.logic.landseaserver.domain.PropertyCheckEstimation;
import com.logic.landseaserver.ws.dto.LogsDTO;
import com.logic.landseaserver.ws.dto.PropertyCheckDTO;
import com.logic.landseaserver.ws.dto.PropertyCheckEstimationDTO;
import com.logic.landseaserver.ws.dto.PropertyCheckLogDTO;
import com.logic.landseaserver.ws.request.PropertyCheckDeleteReq;

public interface IPropertyCheckService extends ICRUDService {
    int insertPropertyCheck(PropertyCheck propertyCheck) throws LandseaBusinessException;

    List<PropertyCheckDTO> queryByPage(QueryUtil queryUtil, Integer propertyId) throws BusinessException;

    int insertCheckResult(PropertyCheckEstimation propertyCheckEstimation) throws LandseaBusinessException;

    List<PropertyCheckEstimationDTO> getCheckResults(Integer propertyCheckId) throws LandseaBusinessException;

    void insertLog(LogsDTO log) throws LandseaBusinessException;

    List<PropertyCheckLogDTO> getRecords(Integer propertyCheckId,Integer modules);

    void deletePropertyChecks(PropertyCheckDeleteReq req) throws LandseaBusinessException;

}
